package com.tbit.uqbike.service.rpcservice;


import com.tbit.uqbike.object.pojo.MachineAbnormal;
import com.tbit.uqbike.object.value.LoginInfo;

import java.util.List;

/**
 * 异常
 *
 * @author Leon
 * 2019年11月16日 下午2:55:29
 */
public interface MachineAbnormalService {

    /**
     * 根据设备id查询
     *
     * @param machineId
     * @return
     */
    List<MachineAbnormal> getByMachineId(LoginInfo info, Integer machineId);

    /**
     * 根据设备id和类型查询
     *
     * @param machineId
     * @param abnormalType
     * @return
     */
    MachineAbnormal getByMachineIdAndType(Integer machineId, Integer abnormalType);

    /**
     * 添加
     *
     * @param machineAbnormal
     */
    void insert(MachineAbnormal machineAbnormal);

    /**
     * 删除
     *
     * @param machineId
     * @param abnormalType
     */
    void del(Integer machineId, Integer abnormalType);

    /**
     * 根据车辆和类型分组
     *
     * @param accountId
     * @param abnormalType
     * @return
     */
    List<MachineAbnormal> groupByMachineIdAndType(Integer accountId, Integer abnormalType);

    void batchDelete(List<Integer> machineIds, List<Integer> abnormalTypes);
}
